﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DebuggerStepThrough, DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema"), GeneratedCode("svcutil", "3.0.4506.2152")]
    public class ImagingSettings20
    {
        private XmlAttribute[] anyAttrField;
        private BacklightCompensation20 backlightCompensationField;
        private float brightnessField;
        private bool brightnessFieldSpecified;
        private float colorSaturationField;
        private bool colorSaturationFieldSpecified;
        private float contrastField;
        private bool contrastFieldSpecified;
        private Exposure20 exposureField;
        private ImagingSettingsExtension20 extensionField;
        private FocusConfiguration20 focusField;
        private IrCutFilterMode irCutFilterField;
        private bool irCutFilterFieldSpecified;
        private float sharpnessField;
        private bool sharpnessFieldSpecified;
        private WhiteBalance20 whiteBalanceField;
        private WideDynamicRange20 wideDynamicRangeField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=0)]
        public BacklightCompensation20 BacklightCompensation
        {
            get
            {
                return this.backlightCompensationField;
            }
            set
            {
                this.backlightCompensationField = value;
            }
        }

        [XmlElement(Order=1)]
        public float Brightness
        {
            get
            {
                return this.brightnessField;
            }
            set
            {
                this.brightnessField = value;
            }
        }

        [XmlIgnore]
        public bool BrightnessSpecified
        {
            get
            {
                return this.brightnessFieldSpecified;
            }
            set
            {
                this.brightnessFieldSpecified = value;
            }
        }

        [XmlElement(Order=2)]
        public float ColorSaturation
        {
            get
            {
                return this.colorSaturationField;
            }
            set
            {
                this.colorSaturationField = value;
            }
        }

        [XmlIgnore]
        public bool ColorSaturationSpecified
        {
            get
            {
                return this.colorSaturationFieldSpecified;
            }
            set
            {
                this.colorSaturationFieldSpecified = value;
            }
        }

        [XmlElement(Order=3)]
        public float Contrast
        {
            get
            {
                return this.contrastField;
            }
            set
            {
                this.contrastField = value;
            }
        }

        [XmlIgnore]
        public bool ContrastSpecified
        {
            get
            {
                return this.contrastFieldSpecified;
            }
            set
            {
                this.contrastFieldSpecified = value;
            }
        }

        [XmlElement(Order=4)]
        public Exposure20 Exposure
        {
            get
            {
                return this.exposureField;
            }
            set
            {
                this.exposureField = value;
            }
        }

        [XmlElement(Order=10)]
        public ImagingSettingsExtension20 Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=5)]
        public FocusConfiguration20 Focus
        {
            get
            {
                return this.focusField;
            }
            set
            {
                this.focusField = value;
            }
        }

        [XmlElement(Order=6)]
        public IrCutFilterMode IrCutFilter
        {
            get
            {
                return this.irCutFilterField;
            }
            set
            {
                this.irCutFilterField = value;
            }
        }

        [XmlIgnore]
        public bool IrCutFilterSpecified
        {
            get
            {
                return this.irCutFilterFieldSpecified;
            }
            set
            {
                this.irCutFilterFieldSpecified = value;
            }
        }

        [XmlElement(Order=7)]
        public float Sharpness
        {
            get
            {
                return this.sharpnessField;
            }
            set
            {
                this.sharpnessField = value;
            }
        }

        [XmlIgnore]
        public bool SharpnessSpecified
        {
            get
            {
                return this.sharpnessFieldSpecified;
            }
            set
            {
                this.sharpnessFieldSpecified = value;
            }
        }

        [XmlElement(Order=9)]
        public WhiteBalance20 WhiteBalance
        {
            get
            {
                return this.whiteBalanceField;
            }
            set
            {
                this.whiteBalanceField = value;
            }
        }

        [XmlElement(Order=8)]
        public WideDynamicRange20 WideDynamicRange
        {
            get
            {
                return this.wideDynamicRangeField;
            }
            set
            {
                this.wideDynamicRangeField = value;
            }
        }
    }
}

